﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace WindowsFormsApplication1
{
    class Inimigo
    {
        private String personagem;
        private int x;
        private bool atirando;

        public bool Atirando
        {
            get { return atirando; }
            set { atirando = value; }
        }


        public int X
        {
            get { return x; }
            set { x = value; }
        }
        private int y;

        public int Y
        {
            get { return y; }
            set { y = value; }
        }
        private float height;

        public float Height
        {
            get { return height; }
            set { height = value; }
        }
        private bool status;
        private float vida;

        public float Vida
        {
            get { return vida; }
            set { vida = value; }
        }
        private int id;

        public int Id
        {
            get { return id; }
            set { id = value; }
        }
        public   const int HEIGHT = 124;
        public   const int WIDTH = 36;

        public  bool getStatus()
        {
            return status;
        }

        public Inimigo()   : this("inimigo.gif", 0, 0, 0, false, false)
        { }

        public Inimigo(String ipersonagem, int ix, int iy, float iheight, bool istatus, bool iatirando)
        {
            personagem = ipersonagem;
            x = ix;
            y = iy;
            height = iheight;
            status = istatus;
            atirando = iatirando;
            Id = 0;
        }

        /**
         * @param name="jHEIGHT"  --> Altura absoluta da "Tela"(Imagem)
         * @param name="jid_h"  --> numero randomizdo da altura que ocurparar o inimigo
         * @param name="jid_i" --> numero randomizado da "coluna" na tela que ocupara o inimigo
         * */
        public void initInimigo(int jid_i,int jid_h, float jHEIGHT)
        {

            x = WIDTH * 2 * (jid_i+1);
            y = jid_h;
            height = (float)(((jid_h + HEIGHT) / jHEIGHT) * 0.70f + 0.30f);
            status = true;
            vida = 1;
            Id = jid_i;
        }

        public void atirar()
        {
            atirando = true;
        }
        public bool morrer(float dano)
        {
            vida -= dano;
            if (vida.CompareTo(0.0f)<=0.0f)
            {
                status = false;   // morto = (status = false)
                vida = 1f;  // quando ele volta a vida dele deve estar inteira 
                atirando = false;  // morto n'ao atira, hehe
            }
            return !status;
        }

    }
}
